3d动漫精品啪啪一区二区免费,柠檬福利精品视频导航,亚洲成a人无码亚洲成www牛牛,99精品国产高清一区二区

聯(lián)
咨詢熱線:

185-9527-1032

聯(lián)系QQ:

2863379292

官方微信:

如何在微信小程序的頁(yè)面間傳遞數(shù)據(jù)?

微信營(yíng)銷

導(dǎo)讀:使用全局變量 在初始化代碼的時(shí)候,小程序會(huì)讀取一個(gè)app.js的文件,在這里我們可以定義我們所需要的全局變量。});//page.js ...var app = getApp()var getFoo = app.globalData

發(fā)表日期:2019-10-20

文章編輯:興田科技

瀏覽次數(shù):8698

標(biāo)簽:

在微信小程序的開(kāi)發(fā)中,我們會(huì)經(jīng)常遇到頁(yè)面間數(shù)據(jù)傳遞或者相互影響的問(wèn)題。在實(shí)際的開(kāi)發(fā)過(guò)程中,可以通過(guò)以下幾種方法來(lái)實(shí)現(xiàn)。

使用全局變量

全局變量實(shí)際上是定義了一個(gè)全局的對(duì)象,并在每個(gè)頁(yè)面中引入。

在初始化代碼的時(shí)候,小程序會(huì)讀取一個(gè)app.js的文件,在這里我們可以定義我們所需要的全局變量。

//app.js ...App({globalData: {foo:'bar' }

});

然后在頁(yè)面中,可以通過(guò)getApp()方法獲取到全局應(yīng)用對(duì)象,可以對(duì)全局變量進(jìn)行讀取并更改:

//page.js ...var app = getApp()var getFoo = app.globalData.foo app.globalData.foo ='fun'

由于app.js在項(xiàng)目中是用來(lái)做基礎(chǔ)配置的,因此不建議將很多變量放在這里配置。一般情況下會(huì)將一些持久化的常量配置在這里,對(duì)于經(jīng)常需要變動(dòng)的量不建議用這個(gè)方法。

使用本地緩存

本地緩存是微信小程序提供的一個(gè)功能,可以將用戶產(chǎn)生的數(shù)據(jù)做本地的持久化,類似于 NoSQL,可以進(jìn)行讀取和修改的操作。

那么在不同的頁(yè)面之間,如何利用它,進(jìn)行數(shù)據(jù)的交互呢?

假設(shè)我們?cè)?A 頁(yè)面保存了用戶的信息。

// pageA.js...var developer = {

name:'raymond',

gender:'male' }

wx.setStorageSync('developer', developer);

這樣做,這個(gè)數(shù)據(jù)就存在了本地。當(dāng)在 B 頁(yè)面需要使用的時(shí)候,可以直接的獲取到數(shù)據(jù)池中的數(shù)據(jù),并進(jìn)行 CRUD 操作:

//pageB.js ...// Retrievevar developer = (wx.getStorageSync('developer') || [])// Update developer.name ='Jiayang' wx.setStorageSync('developer', developer);// Delete wx.removeStorage({

key:'developer' })

需要注意的是,在回到 A 頁(yè)面的時(shí)候,小程序需要重新讀取數(shù)據(jù)。這時(shí)候,可以選擇放在生命周期的onShow中對(duì)數(shù)據(jù)重新加載

父級(jí)往子級(jí)頁(yè)面(模板)的數(shù)據(jù)傳遞

我們通常會(huì)在頁(yè)面之間進(jìn)行跳轉(zhuǎn)、重定向的操作。這時(shí)候,我們可以選擇將部分?jǐn)?shù)據(jù)放在url里面,并在新頁(yè)面onLoad的時(shí)候進(jìn)行初始化。

pageC.js ...// Navigatewx.navigateTo({url:'../pageD/pageD?name=raymond&gender=male',

})// Redirectwx.redirectTo({url:'../pageD/pageD?name=raymond&gender=male',

})

在 D 頁(yè)面中,我們可以這樣接收到到所傳進(jìn)來(lái)的參數(shù):

// pageD.js ...

page({

onl oad: function(option){

console.log(option.name +'is' +option.gender)

this.setData({option:option })

}

})

wx.navigateTo和wx.redirectTo不允許跳轉(zhuǎn)到 tab 所包含的頁(yè)面,只能用wx.switchTab跳轉(zhuǎn)。需要注意的是,wx.switchTab中的url不能傳參數(shù)。

微信新提供的wx.reLaunch接口可以傳入?yún)?shù)。

另外,在頁(yè)面中我們通常會(huì)用到一些組件模板,因此在父子之間也會(huì)有相應(yīng)的數(shù)據(jù)傳遞。

使用name屬性,作為模板的名字。然后在這里面使用is屬性,聲明需要的使用的模板。

{{index}}: {{msg}}Time: {{time}}

然后將模板所需要的data傳入,如:

<templateis="msgItem"data="{{...item}}"/>

page({data: {item: {index:0,msg:'this is a template',time:'2016-09-15' }

}

})

傳入模板的除了變量,還可以是事件方法對(duì)象。例如,模板中的點(diǎn)擊事件,可以傳遞到使用模板的元素中。

通過(guò)獲取到頁(yè)面對(duì)象進(jìn)行數(shù)據(jù)操作

這個(gè)方法的精髓,是通過(guò)獲取到其他頁(yè)面的對(duì)象原型,然后通過(guò)原型方法setData對(duì)當(dāng)前對(duì)象管理的data進(jìn)行修改,示例如下:

//pageE.js ...page({data: {index:1 }

})

當(dāng)跳轉(zhuǎn)到下一個(gè)頁(yè)面 F 之后,假定在 F 中有操作需要對(duì) E 中的數(shù)據(jù)有修改,則可以使用以下方法:

pageF.js

...

page({

changeIndexInE:function(){var pages = getCurrentpages();var prevpage = pages[pages.length -2];

prevpage.setData({

index:0 })

}

})

這個(gè)方法可以操作頁(yè)面堆棧里面的頁(yè)面的數(shù)據(jù),可以做到讓后一級(jí)頁(yè)面對(duì)上級(jí)頁(yè)面群的數(shù)據(jù)管理。

小結(jié)

在微信小程序中有以上并且不局限于以上幾種的方式進(jìn)行頁(yè)面間數(shù)據(jù)傳遞、交互,在實(shí)際應(yīng)用中可以組合使用。比如說(shuō):

●一些常量,可以交由app.js管理;需要持久化的量可以放在本地保存。

●涉及到下級(jí)頁(yè)面或者模板元素的數(shù)據(jù),可以通過(guò)傳入?yún)?shù)的方式傳入。

●后級(jí)頁(yè)面可以通過(guò)獲取堆棧里的頁(yè)面對(duì)象快速修改上級(jí)的數(shù)據(jù)。

在實(shí)際應(yīng)用中結(jié)合使用,可以更好地管理小程序的數(shù)據(jù)。

本文如有不周到之處,可以留言進(jìn)行討論。

相關(guān)推薦

更多新聞

一区一区三区四区产品动漫| 亚洲人精品亚洲人成在线| 制服丝袜长腿无码专区第一页| 无码熟熟妇丰满人妻啪啪| 在线观看国产精品日韩av| 思热99re视热频这里只精品| 亚洲欧美日本韩国| 国产色无码专区在线观看| 久久综合给合久久狠狠狠97色69| 国产精品老熟女露脸视频| 黑人巨大白妞出浆| 巨人精品福利官方导航| 亚洲av色香蕉一区二区三区| 免费裸体黄网站18禁止观看| 在线亚洲人成电影网站色WWW| 久热综合在线亚洲精品| 国产亚洲日韩在线三区| 午夜射精日本三级| 第一精品福利导福航| 日本无码一本二本三本视频| 久久国产精品无码一区二区三区| 图片区 亚洲 卡通 另类 动漫| 久久中文字幕无码专区| A三级三级成人网站在线视频| 无码AV大香线蕉伊人久久| 精品玖玖玖视频在线观看| 亚洲日韩中文第一精品| 卡一卡2卡3卡精品网站| 不卡无码人妻一区二区三区| 亚洲AV无码专区在线电影APP| 久久精品人人做人人妻人人玩| 中文乱码人妻系列一区二区| 男女啪啪高清无遮挡免费| 国产亚洲AV成人片在线观看| 久久综合久久香蕉网欧美| 成全动漫视频观看免费动漫| 成人毛片100免费观看| 性色生活片在线观看| 草草影院精品一区二区三区| 一本一久本久A久久精品综合| 12裸体自慰免费观看网站|